\section{Portāla risinājuma izveide}
Šī nodaļa apraksta portāla izstrādes fāzi, uzbūvi un izmantoto metodoloģiju
izstrādes procesā.

Visvairāk izstrādes procesā tika pielietota \emph{spējās (agile)} izstrādes
metode, kas ļāva izstrādes laikā eksperimentēt un piedāvāt jaunus risinājumus.
Viens no tādiem risinājumiem ir \emph{Wiki portlets}, risinājuma
izveides process ir apskatīts šajā pašā nodaļā, zemāk, bet realizācija -
\ref{sssec:impl-wiki}~apakšnodaļā.

\subsection{Satura pārvaldības risinājuma izveide}
Wiki portleta nepieciešamību radīja problēma ar dažu informatīvo bloku
ievietošanu portālā. Tādu iespēju piedāvā \ref{ssc:av-simplecms} apakšnodaļā
aprakstītais rīks \emph{Simple CMS}.

\emph{Simple CMS} rīka galvenie trūkumi ir:
\begin{itemize}
  \item neiespējamība izveidot saturu ar daudzām lapām vienā portletā, kas
  piespiež veidot daudzus portletus ar informāciju, vai nu izvietot lielu
  informācijas daudzumu vienā portleta logā
  \item satura pārvaldība notiek tikai caur portleta konfigurācijas režīmu, kurš
  ir pieejams tikai portāla administratoriem, kas piespiež administratorus
  pārvaldīt saturu
\end{itemize}

Balstoties uz darba autora iepriekšējo pieredzi līdzīgu sistēmu izstrādē un
uzturēšanā, ir izdarīts secinājums, ka ievadlauki HTML teksta ievadei veido
lietotājam daudz brīvības. Šāda brīvība traucē pašam lietotājam, ievadot tekstu
ar \emph{WYSIWYG} redaktora palīdzību palielinās iespēja kļūdīties.

\begin{figure}[H]
  \centering
    \includegraphics[width=0.9\textwidth]{image/tinymce-editor}
  \caption{TinyMCE \emph{WYSIWYG} redaktors}
  \label{att:tinymce-editor}
\end{figure}

\begin{figure}[H]
  \centering
    \includegraphics[width=0.9\textwidth]{image/tinymce-html}
  \caption{TinyMCE \emph{WYSIWYG} redaktora \emph{HTML} labošanas skats}
  \label{att:tinymce-html}
\end{figure}


Visbiežāk problēmas veidojas, kopējot saturu no citam vietām, saglabājot teksta
formatējumu. Kopējot informāciju \emph{WYSIWYG} redaktorā, paliek daudz
formatēšanās \emph{HTML} birku, par kuriem lietotājs var pat nezināt, jo nebija
izmantojis redaktora \emph{HTML} pirmkoda attēlošanas skatu, vai ir izmantojis,
bet kontrolēt lielu birku apjomus praktiski nav iespējams. Teksta kopēšanas
rezultātu var redzēt \ref{att:tinymce-editor}, kas izskatās labi, bet
\ref{att:tinymce-html} attēlā var redzēt, ka parādās datu bloki
(piem. \verb*#<p style="margin-bottom: 0cm;">&nbsp;</p>#
, kas var traucēt turpmākā attēlošanā sistēmā.

Aizliegt lietotājiem izmantot kopēšanas iespējas praktiski nav iespējams, tāpēc
radās ideja to atslēgt, un minimizēt atļauto komandu skaitu, ka arī maksimāli
atvieglot informācijas ievades procesu.

Infomācijas ievadei tika nolēmts izmantot \emph{wiki} sintaksi, kas bazēta uz
\emph{xWiki}~2 sintakses~\cite{link:xwiki-syntax}, jo tā sintakse ir atbalstīta
ar \emph{xWiki} bibliotēkām \emph{Java} valodā.

Portleta izstrādei no sākuma bija plānots iztērēt 3-4 dienas, izstrādājot
vienai personai. Izvēlētā metode ir \emph{Rapid application development}~(RAD),
kas tika izvēlēta, balstoties uz projekta un resursu maziem
apjomiem~\cite{whitten2007systems}.

Risinājuma izstrādes laikā notika sekojošas izstrādes cikla iterācijas:
\begin{enumerate}
  \item vienkārša prototipa izveide, kas ļauj transformēt konstantes tekstu uz
  \emph{HTML} un attēlot to portālā
  \item prototipa modificēšana, izveidojot iespēju \emph{wiki} teksta ievadei un
  saglabāšanai datu bāzē
  \item daudzlappušu risinājuma realizācija
  \item daudzvalodu atbalsta implementācija
  \item portleta instancei neatkarīguma implementācija, lai portlets darbotos ar
  savu datu kopu
  \item lietotāju tiesību atšķiršanas mehānisma implementācija
  \item lietotāju navigācijas realizācija
\end{enumerate}

Katras iterācijas ietvaros notika prototipa testēšana un kļūdu labošana.
